#import <Foundation/Foundation.h>

@interface Person : NSObject {
  NSString* _firstName;
  NSString* _lastName;

  // 私有变量如何隐藏到.m文件？
  // 简单移动到.m文件会报错
  NSString* _uid;
  int _height;
  int _weight;
}

@property (atomic, readonly) NSString* uid;
@property (atomic, readonly) int weight;
@property (atomic, readonly) int height;
@property (atomic, readonly) NSString* fullName;
/// @brief 从copy可见，objc里的指针和cpp的指针不一样。竟然可以通过copy指针来copy对象 
@property (copy, atomic, readwrite) NSString* firstName; 
@property (copy, atomic, readwrite) NSString* lastName;

- (id) init;
- (id) initWithFirstName: (NSString*) firstName_ LastName: (NSString*) lastName_;
- (NSString*) fullName;
- (void) assignUid;
- (int) measureWeight;
- (int) measureHeight;
@end